<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>01.复习ES6类相关的知识</title>
</head>

<body>
    <script>
        //写出以学生相关属性的类结构
        /* Object.prototype.eat = function () {
            console.log('eat1');
        } */
        class Student {
            //想要在实例化对象身上添加属性/方法

            //属性一般可以有两种方式：直接赋值/通过构造器
            //address = '北京市';

            //如果是通过构造器传入的属性值，一般都是实例化对象身上属性值的不同的值
            // constructor(address) {
            //     this.address = address;
            // }

            //方法
            /* study = function () {
                console.log('study')
            }
            play = () => {
                console.log('play')
            } */
            //只要是通过直接赋值的方式，都会添加到实例化对象身上


            //如果想要在类的原型对象身上添加方法
            eat() {
                console.log('eat')
            }

            //如果想要在类对象本身身上添加属性/方法
            static a = 1;
            static b = function () {
                console.log('b...')
            }

        }
        let s1 = new Student();
        console.log(s1)

        let s2 = new Student();
        console.log(s2)

        // console.log(s1.eat);
        s1.eat();

        console.dir(Student);
        console.log(Student.a)
        Student.b();
    </script>
</body>

</html>